#pragma once

#ifdef MEMORYDLL_EXPORTS
#ifndef MEMORYDLL_PUBLIC
#define MEMORYDLL_PUBLIC __declspec(dllexport)
#endif
#else
#ifndef MEMORYDLL_PUBLIC
#define MEMORYDLL_PUBLIC __declspec(dllimport)
#endif
#endif

#include <vector>

class MEMORYDLL_PUBLIC VECTOR3FARRAY
{
public:
    float vecpts[1000];
};

enum class MemoryAllocation
{
    MA_STATIC = 0,
    MA_STACK,
    MA_HEAP
};

static std::vector<VECTOR3FARRAY> s_Mems;

const size_t COUNT = 1000000;

MEMORYDLL_PUBLIC void TestMemoryLimits(MemoryAllocation alloctype);